<?php
class ApoyosController extends AppController{
	
	var $uses = array('Apoyo','Estudiante','CentroApoyoEscolare','Departamento','UsersEquiposOperativo','Zona', 'Municipio', 'EquiposOperativo', 'Departamento', 'Familiare', 'Group','User');
	var $helpers=array('Access');

	function index($estudiantes=null){
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		$apoyos=$this->paginate('Apoyo',array('Apoyo.estudiante_id'=>$estudiantes));
		$estudiantes=$this->Estudiante->find('first',array('conditions'=>array('Estudiante.id'=>$estudiantes)));
		$this->set(compact('estudiantes','apoyos'));		
	}
	
	function view($estudiantes=null){
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!$id) {
			$this->Session->setFlash(__('Invalid apoyo', true));
			$this->redirect(array('action'=>'index',$this->data['Apoyo']['estudiante_id']));
		}
		$estudiantes=$this->Estudiante->find('first',array('conditions'=>array('Estudiante.id'=>$estudiantes)));
		$this->set(compact('estudiantes'));	
	}
	
	function add($estudiante_id=null) {
		
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		
		if (!empty($this->data)) {
			$this->Apoyo->create();
			if ($this->Apoyo->save($this->data)) {
				$this->Session->setFlash(__('El apoyo ha sido guardado.', true));
				$this->redirect(array('action'=>'index',$this->data['Apoyo']['estudiante_id']));
			} else {
				$this->Session->setFlash(__('El apoyo no ha sido guardado. Por favor intente de nuevo.', true));
			}
		}
		$estudiante=$this->Apoyo->Estudiante->read(null,$estudiante_id);
		$this->set(compact('estudiante'));	
	}

	function edit($id = null,$estudiante = null){
		
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		
		if (!$id && empty($this->data)) 
		{
			$this->Session->setFlash(__('Invalid apoyo', true));
			$this->redirect(array('action'=>'index'));
		}
		if (!empty($this->data)) 
		{
			if ($this->Apoyo->save($this->data)) 
			{
				$this->Session->setFlash(__('El apoyo ha sido guardado', true));
				$this->redirect(array('action' =>'index',$this->data['Apoyo']['estudiante_id']));
				
			}else{
				$this->Session->setFlash(__('El apoyo no ha sido guardado. Por favor intente de nuevo', true));
			}
		}
		if (empty($this->data))
		{
			$this->data=$this->Apoyo->read(null, $id);
		}
		
		$estudiante=$this->Apoyo->Estudiante->find('first',array('conditions'=>array('Estudiante.id'=>$estudiante)));
		$this->set(compact('estudiante'));				
	}
	
	function delete($id = null) {
		
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for apoyo', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Apoyo->delete($id)) {
			$this->Session->setFlash(__('Apoyo eliminado', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Apoyo no se ha podido eliminar', true));
		$this->redirect(array('action' => 'index'));
	}
	
	function apoyos_caes(){
		
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		
		$grupo = $this->Access->getMy('group_id');
		$nombre_grupo = $this->Group->read('nombre',$grupo);
		$nombre_grupo = $nombre_grupo['Group']['nombre'];
		$caes;
		if($nombre_grupo != "Administrador"){			
			//Se traen los que son de Docentes
			$caes = $this->Estudiante->CentroApoyoEscolare->find('all',array('conditions'=>array('CentroApoyoEscolare.user_id'=>$this->Access->getMy('id'))));
			// Si no hay CAES asignados al usuario se traen los del Equipo Operativo			
			if(empty($caes)){
				$eo = $this->UsersEquiposOperativo->find('first',array('conditions'=>array('UsersEquiposOperativo.user_id'=>$this->Access->getMy('id'))));
				$eo = $eo['UsersEquiposOperativo']['equipos_operativo_id'];				
				$caes = $this->Estudiante->CentroApoyoEscolare->find('all',array('conditions'=>array('CentroApoyoEscolare.equipos_operativo_id'=>$eo)));				
			}			
		}else{
			//Se traen todos los CAES
			$caes = $this->Estudiante->CentroApoyoEscolare->find('all');
		}
		
		foreach ($caes as &$cae):
			$zona = $this->Zona->read('municipio_id',$cae['EquiposOperativo']['zona_id']);
			$municipio = $this->Municipio->read('nombre',$zona['Zona']['municipio_id']);
			$cae['nombre_equipo'] = $municipio['Municipio']['nombre'];
		endforeach;
						
		$this->set(compact('caes'));
	}
	
	function apoyos_listados_estudiantes_apoyos_familiares($caes=null)
	{
		$estudiantes=$this->paginate('Estudiante',array('Estudiante.centro_apoyo_escolare_id'=>$caes));
		$this->set(compact('estudiantes'));
	}
}